1. Field of the Invention
The invention relates to an image processing apparatus having an image processing unit to perform image processes and to a control method of such an image processing apparatus. The invention also relates to a storage medium in which a control program for such an image processing apparatus has been stored.
2. Related Background Art
Hitherto, OA (Office Automation) apparatuses such as a copying machine, facsimile, printer, image scanner, image file system, telephone with an advanced function, and the like have widely been used.
Hitherto, most of those OA apparatuses are not connected to a network but have provided functions while being limited in sole equipment. In recent years, however, those OA apparatuses, used so far in a stand-alone manner, are connected to a network such as an Ethernet or the like and are started to be commonly used by a plurality of computers or the like as clients.
For example, a technique such that a plurality of clients commonly use image processing apparatuses such as a copying machine, facsimile, printer, image scanner, and the like via a network has been put into practical use relatively from early on.
In the conventional technique, however, when the clients use such OA apparatuses via the network, the OA apparatuses need to be always communicated with the clients via the network for a period of time of processes.
For example, when a client program which is executed on a client such a workstation, personal computer, portable information terminal, or the like uses services which are provided by the OA apparatus, a processing request and data necessary for processes are transmitted to a server program that is executed on the OA apparatus in accordance with a predetermined protocol, for example, a network protocol such as LPR, PAP, or the like. Thus, the client controls the operation of a target OA apparatus.
Further, the client program receives a response and necessary data from the server program in accordance with the necessity. The client discriminates the contents of the response from the OA apparatus and transmits a new instruction request to the OA apparatus in accordance with them.
Such a server client system is installed in various network protocols such as TCP/IP and the like and is used. However, it is necessary to continue an interactive communication between the server and the client while a service is being provided.
On the other hand, in the field of a distributive calculation purely comprising computers, in recent years, its technique has been developed from the technique such as a remote procedure call in which the distributive calculation is performed by repeating the interactive communication by a protocol to the technique called a mobile agent in which the executable program object itself moves on a network and executes the distributive calculation. Various techniques have been proposed.
As examples of realizing the distributive calculation system by the mobile agent, various systems such as “Telescript” of General Magic Co., Ltd. of U.S. Pat. No. 5,603,031 and “Aglets” of IBM Tokyo Basic Laboratory have been well known.
The mobile agent comprises a command train and data necessary to execute them and is not limited to one certain execution environment but moves from a certain execution environment to another execution environment and is executed on a dedicated interpreter.
However, the above conventional techniques have the following problems.
First, in the client server system, for the server process, a client process frequently performs the request of a service and the transmission of the data necessary for processes of the service. While controlling a physical mechanism of the OA apparatus corresponding to the request, the server process frequently performs a response to the client process and the return transmission of a processing result in accordance with the necessity. Moreover, as the service to be requested becomes finer, the interactive communication between the client process and the server process has to be repeated many times in accordance with it.
Importance has recently been made to a request such that the service which is provided by the OA apparatus is finely controlled from the client. However, if it is intended to meet this request by the interactive communication of information by the conventional control protocol, traffic of the network increases due to it. Therefore, the user has to use an expensive network infrastructure of higher performance and it is economically disadvantageous.
Second, if the interactive communication by the control protocol is continuously maintained between the client process and the server process, the OA apparatus has to execute in parallel both of the control of the physical mechanism to provide the service and the interactive communication by the network communication. A burden on the OA apparatus due to it is large. In the case where the OA apparatus is a multiclient type apparatus which provides services to a plurality of clients, particularly, such a burden is large.
That is, to maintain the connection of the communication via the network while controlling the physical mechanism which the apparatus has in order to provide the service, a processor of higher performance is necessary as a processor of the apparatus. A memory of a larger capacity is also needed. This becomes a cause of an increase in costs of the apparatus main body.
Third, according to the method of using the communication protocol in order to perform a series of interactive processes for controlling the OA apparatus, a command system to control the apparatus has to be previously designed and installed as a command protocol. Therefore, in the future, when a new using method of the apparatus is expanded, in order to realize such a new using method, the command protocol also has to be expanded.
Thus, both of the client process and the server process have to be changed (version-up of the program) so as to correspond to the expanded command protocol. This results in a troublesomeness for the user and, particularly, since the program of the server process built in the conventional OA apparatus is generally called firmware and is stored in a non-volatile memory or the like, much costs are required to update the program or, in many cases, the updating of the program is exactly impossible. Therefore, expandability of the service that is provided by the OA apparatus decreases.
Fourth, the mobile agent proposed recently in the field of the distributive calculation is a method of a distributive programming on the computer. Therefore, in the mere mobile agent proposed in the field of the distributive calculation, it is impossible to perfectly satisfy the foregoing recent various requirements requested for the conventional OA apparatuses. Particularly, the mobile agent in such a field intends to distributively perform the calculation to solve a certain problem and does not aim to control another computer from a remote location.
Although the above requirements can be satisfied to a certain extent by installing the mobile agent to the server computer to exclusively perform the control of the OA apparatus such as represented by the print server under an execution environment, a network or a communication infrastructure in place of it is still necessary between the server computer and the OA apparatus.
Therefore, there is still a problem of a traffic on the communication medium and a burden of an interface process on the OA apparatus side is also not reduced. Further, if the communication between the OA apparatus and the server computer to exclusively perform the control of the OA apparatus is executed in accordance with the conventional interactive protocol, expandability of the service that is provided by the OA apparatus itself also decreases in a manner similar to the third problem. Since the user has to newly prepare the dedicated server computer for the apparatus, it is disadvantageous from an economical viewpoint and in consideration of the installing area.